home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / c / library / mslang / poetmf / src / progdlg.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-22  |  2.8 KB  |  114 lines

  1. // ******************************************************************
  2. //
  3. //  progdlg.cpp : implementation file
  4. // 
  5. //    Implemented classes:
  6. //        CEditProgDlg
  7. //
  8. //  Author: Nils Behncke
  9. //            POET Software GmbH, August 1993
  10. //
  11. // ******************************************************************
  12.  
  13.  
  14. #include <stdafx.h>            //    header to MFC
  15. #include <persdlg.h>        //    header to baseclass of this file
  16. #include <progdlg.h>        //    header to this file
  17. #include <adrdlg.h>            //    header to addressdialog
  18. #include <stepdlg.h>        //    header to stepdialog
  19. #include <pictdlg.h>        //    header to picturedialog
  20. #include <helloapp.h>        //    header to application
  21.  
  22.  
  23. extern CHelloWinApp NEAR theApp;    //    instance of application
  24.  
  25. #ifdef _DEBUG        //    added by ClassWizard
  26. #undef THIS_FILE
  27. static char BASED_CODE THIS_FILE[] = __FILE__;
  28. #endif
  29.  
  30.  
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CEditProgDlg dialog
  33.  
  34. CEditProgDlg::CEditProgDlg(CWnd* pParent, UINT nIDTemp)    //    extended constructor, see comment in headerfile
  35.     : CEditPersDlg(pParent, nIDTemp)
  36. {
  37.     //{{AFX_DATA_INIT(CEditProgDlg)
  38.     m_intExpierience = 0;    //    initialize membervariables
  39.     m_strLanguage = "";
  40.     //}}AFX_DATA_INIT
  41. }
  42.  
  43.  
  44. CEditProgDlg::~CEditProgDlg ()
  45. {
  46. }
  47.  
  48.  
  49. void CEditProgDlg::DoDataExchange(CDataExchange* pDX)
  50. {
  51.     CEditPersDlg::DoDataExchange(pDX);    //    call DoDataExchange of baseclass
  52.     //{{AFX_DATA_MAP(CEditProgDlg)
  53.     DDX_Text(pDX, IDC_EDIT_LANG, m_strLanguage);
  54.     DDX_Text(pDX, IDC_EDIT_EXP, m_intExpierience);
  55.     //}}AFX_DATA_MAP
  56. }
  57.  
  58. void CEditProgDlg::ClearControls ()
  59. {
  60.     m_strLanguage = "";
  61.     m_intExpierience = 0;
  62.     CEditPersDlg::ClearControls (); // 22.11
  63. }
  64.  
  65.     //{{AFX_MSG_MAP(CEditProgDlg)
  66.     //}}AFX_MSG_MAP
  67.  
  68. //    comments above are needed to let ClassWizard accept this class
  69. //    no MESSAGEMAP necessary, using MESSAGEMAP of CEditPersDlg
  70.  
  71.  
  72. void CEditProgDlg::Show ()
  73. {
  74.     CEditPersDlg::Show ();    // show all Person items   
  75.     Programmer        *programmer = (Programmer *) person;    //  cast member variable to programmer
  76.     m_intExpierience = programmer->GetExp ();
  77.     m_strLanguage = programmer->GetLang ();
  78.     UpdateData (FALSE);
  79. }    
  80.  
  81.  
  82. void CEditProgDlg::Fill ()
  83. {                                        
  84.     CEditPersDlg::Fill ();    //    fill person's data
  85.  
  86.     UpdateData (); 
  87.     
  88.     //    add programmer data
  89.     Programmer        *programmer = (Programmer *) person;
  90.     programmer->SetExp (m_intExpierience);
  91.     programmer->SetLang (m_strLanguage.GetBuffer (m_strLanguage.GetLength ()));
  92. }
  93.  
  94.  
  95. void CEditProgDlg::NewPersonPtr ()
  96. {
  97.     person = new Programmer ();
  98. }
  99.  
  100.  
  101. void CEditProgDlg::NewAllSetPtr ()
  102. {
  103.     allperson = new ProgrammerAllSet (theApp.GetOA ());    // create AllSet and
  104.                                                     // assign it to database
  105.  
  106.  
  107.  
  108. /////////////////////////////////////////////////////////////////////////////
  109. // CEditProgDlg message handlers
  110.  
  111.  
  112. //    all handlers are implemented in CEditPersDlg
  113.